using System;

namespace Sagile.Nepma
{
    /// <summary>
    /// Contains the parameters for the <see cref="IInterruptableProcess.Paused"/> event.
    /// </summary>
    public class PausedEventArgs : EventArgs
    {
        #region Attributes

        private string _details;
        private PausedReasonType _reason;

        #endregion Attributes

        #region Properties

        /// <summary>
        /// Gets or sets the details.
        /// </summary>
        /// <value>The details.</value>
        public string Details
        {
            get { return _details; }
            set { _details = value; }
        }

        /// <summary>
        /// Gets or sets the reason.
        /// </summary>
        /// <value>The reason.</value>
        public PausedReasonType Reason
        {
            get { return _reason; }
            set { _reason = value; }
        }

        #endregion Properties

        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="PausedEventArgs"/> class.
        /// </summary>
        public PausedEventArgs()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="PausedEventArgs"/> class.
        /// </summary>
        /// <param name="reason">The reason.</param>
        /// <param name="details">The details.</param>
        public PausedEventArgs(PausedReasonType reason, string details)
        {
            _details = details;
            _reason = reason;
        }

        #endregion Constructor
    }
}
